package com.cy.teducommunitys.com.cy.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cy.teducommunitys.com.common.vo.UserForManagerVo;
import com.cy.teducommunitys.com.cy.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * <p>
 * 用户详细信息表 Mapper 接口
 * </p>
 *
 * @author mdzz
 * @since 2019-07-19
 */
public interface UserMapper extends BaseMapper<User> {
    /**
     * <p>
     * 查询 : 根据state状态查询用户列表，分页显示
     * 注意!!: 如果入参是有多个,需要加注解指定参数名才能在xml中取值
     * </p>
     *
     * @param page 分页对象,xml中可以从里面进行取值,传递参数 Page 即自动分页,必须放在第一位(你可以继承Page实现自己的分页对象)
     * @param state 状态
     *      @param name 查询的名字
     * @return 分页对象
     */
    IPage<UserForManagerVo> selectPageVo(Page page, @Param("state") String name);

    @Select("select count(*) from user where mobile=#{mobile}")
    int getMobileCount(String mobile);

    @Select("select count(*) from user where userName=#{userName}")
    int getUserNameCount(String userName);

    UserForManagerVo findObjectById(Integer userId);

}
